home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus 2004 #2 / Amiga Plus CD - 2004 - No. 02.iso / AmiSoft / Dev / misc / WHDLoad_dev.lha / WHDLoad / Src / gci / WHDLoadGCI.h < prev    next >
Encoding:
C/C++ Source or Header  |  2003-07-12  |  7.4 KB  |  247 lines

  1. /*****************************************************************************
  2. ;  :Module.    WHDLoadGCI.h
  3. ;  :Author.    Bert Jahn
  4. ;  :EMail.    jah@fh-zwickau.de
  5. ;  :Address.    Franz-Liszt-Straße 16, Rudolstadt, 07404, Germany
  6. ;  :Version.    $Id: WHDLoadGCI.h 0.7 2003/07/12 13:10:41 wepl Exp wepl $
  7. ;  :History.    18.07.98 started
  8. ;        12.07.03 changes for reg to mem
  9. ;  :Copyright.    All Rights Reserved
  10. ;  :Language.    C
  11. ;  :Translator.    GCC
  12. ****************************************************************************/
  13.  
  14. #include <libraries/mui.h>
  15. #include <mui/BetterString_mcc.h>
  16.  
  17. /****************************************************************************/
  18. /*    defines                                                                    */
  19. /****************************************************************************/
  20.  
  21. #define AFF_68060 (1L<<7)
  22.  
  23. #ifndef MAKE_ID
  24. #define MAKE_ID(a,b,c,d) ((ULONG) (a)<<24 | (ULONG) (b)<<16 | (ULONG) (c)<<8 | (ULONG) (d))
  25. #endif
  26.  
  27. enum {
  28.     MEN_PROJECT=1,MEN_OPEN,MEN_ABOUT,MEN_ABOUTMUI,MEN_QUIT,
  29.     MEN_MEMORY,MEN_GOTO0,MEN_GOTO1,MEN_GOTO2,MEN_GOTO3,MEN_GOTO4,MEN_GOTO5,MEN_GOTO6,MEN_GOTO7,MEN_GOTO8,MEN_GOTO9,
  30.     MAIN_MORECPU,MAIN_MORECUST,MAIN_MOREMEM,MAIN_MOREEMEM,MAIN_MORESLAVE,MAIN_MOREINFO,
  31.     MAIN_MORED0,MAIN_MORED1,MAIN_MORED2,MAIN_MORED3,MAIN_MORED4,MAIN_MORED5,MAIN_MORED6,MAIN_MORED7,
  32.     MAIN_MOREA0,MAIN_MOREA1,MAIN_MOREA2,MAIN_MOREA3,MAIN_MOREA4,MAIN_MOREA5,MAIN_MOREA6,MAIN_MOREUSP,MAIN_MORESSP,MAIN_MOREPC
  33. };
  34.  
  35. #define MENUBASE \
  36.     { NM_TITLE, "Project"            , 0 ,0 ,0             ,(APTR)MEN_PROJECT    },\
  37.     { NM_ITEM ,  "Open"            ,"O",0 ,0             ,(APTR)MEN_OPEN        },\
  38.     { NM_ITEM ,  NM_BARLABEL        , 0 ,0 ,0             ,(APTR)0            },\
  39.     { NM_ITEM ,  "About"            ,"?",0 ,0             ,(APTR)MEN_ABOUT        },\
  40.     { NM_ITEM ,  "About MUI"        ,"M",0 ,0             ,(APTR)MEN_ABOUTMUI    },\
  41.     { NM_ITEM ,  NM_BARLABEL        , 0 ,0 ,0             ,(APTR)0            },\
  42.     { NM_ITEM ,  "Quit"            ,"Q",0 ,0             ,(APTR)MEN_QUIT        },
  43.  
  44. /****************************************************************************/
  45. /*    mui macros                                                                */
  46. /****************************************************************************/
  47.  
  48. /*
  49.  *  Child if true
  50.  */
  51. #define ChildIf(rule) rule ? Child : TAG_IGNORE
  52.  
  53. /*
  54.  *  SimpleButton if true
  55.  */
  56. #define SimpleButtonIf(rule,text) rule ? SimpleButton(text) : NULL
  57.  
  58. /*
  59.  *  create a label and a register
  60.  *  label    - label of the gadget (char*)
  61.  *  help    - text for bubble help (char*)
  62.  *  value    - value to display
  63.  */
  64. #define Register(label,help,value)\
  65.     Child, Label2(label),\
  66.     Child, TextObject,\
  67.         StringFrame,\
  68.         MUIA_ShortHelp, help,\
  69.         MUIA_Text_Contents, val2hexr(value),\
  70. End
  71.  
  72. /*
  73.  *  create a label and a register with 64bit value
  74.  *  label    - label of the gadget (char*)
  75.  *  help    - text for bubble help (char*)
  76.  *  value1,2 - value to display
  77.  */
  78. #define Register64(label,help,value1,value2)\
  79.     Child, Label2(label),\
  80.     Child, TextObject,\
  81.         StringFrame,\
  82.         MUIA_ShortHelp, help,\
  83.         MUIA_Text_Contents, val2hex64r(value1,value2),\
  84. End
  85.  
  86. /*
  87.  *  create a label and 16bit register, editable, bubble help
  88.  *  object    - variable of object to create (APTR)
  89.  *  label    - label of the gadget (char*)
  90.  *  value    - initial contents
  91.  *  help    - text for bubble help (char*)
  92.  */
  93. #define Register16LEH(object,label,value,help)\
  94.     Child, Label2(label),\
  95.     Child, object = BetterStringObject,\
  96.         StringFrame,\
  97.         MUIA_String_Accept , StringHexAccept,\
  98.         MUIA_String_MaxLen , 4+2,\
  99.         MUIA_String_Format , MUIV_String_Format_Right,\
  100.         MUIA_String_Contents, val2hex(value),\
  101.         MUIA_ShortHelp, help,\
  102. End
  103.  
  104. /*
  105.  *  create a 16bit register, editable, bubble help
  106.  *  object    - variable of object to create (APTR)
  107.  *  value    - initial contents
  108.  *  help    - text for bubble help (char*)
  109.  */
  110. #define Register16EH(object,value,help)\
  111.     Child, object = BetterStringObject,\
  112.         StringFrame,\
  113.         MUIA_String_Accept , StringHexAccept,\
  114.         MUIA_String_MaxLen , 4+2,\
  115.         MUIA_String_Format , MUIV_String_Format_Right,\
  116.         MUIA_String_Contents, val2hex(value),\
  117.         MUIA_ShortHelp, help,\
  118. End
  119.  
  120. /*
  121.  *  create a 32bit register, editable
  122.  *  object    - variable of object to create (APTR)
  123.  *  value    - initial contents
  124.  */
  125. #define Register32E(object,value)\
  126.     Child, object = BetterStringObject,\
  127.         StringFrame,\
  128.         MUIA_String_Accept , StringHexAccept,\
  129.         MUIA_String_MaxLen , 8+2,\
  130.         MUIA_String_Format , MUIV_String_Format_Right,\
  131.         MUIA_String_Contents, val2hex(value),\
  132. End
  133.  
  134. /*
  135.  *  create a button and 32bit register, editable
  136.  *  object    - variable of object to create (APTR)
  137.  *  value    - initial contents
  138.  */
  139. #define Register32BE(object1,object2,label,value)\
  140.     Child, object1 = SimpleButton(label),\
  141.     Child, object2 = BetterStringObject,\
  142.         StringFrame,\
  143.         MUIA_String_Accept, StringHexAccept,\
  144.         MUIA_String_MaxLen, 8+2,\
  145.         MUIA_String_Format, MUIV_String_Format_Right,\
  146.         MUIA_String_Contents, val2hex(value),\
  147. End
  148.  
  149. /*
  150.  *  create a button and 32bit register, editable, buble help
  151.  *  object    - variable of object to create (APTR)
  152.  *  value    - initial contents
  153.  *  help    - text for bubble help (char*)
  154.  */
  155. #define Register32BEH(object1,object2,label,value,help)\
  156.     Child, object1 = SimpleButton(label),\
  157.     Child, object2 = BetterStringObject,\
  158.         StringFrame,\
  159.         MUIA_String_Accept, StringHexAccept,\
  160.         MUIA_String_MaxLen, 8+2,\
  161.         MUIA_String_Format, MUIV_String_Format_Right,\
  162.         MUIA_String_Contents, val2hex(value),\
  163.         MUIA_ShortHelp, help,\
  164. End
  165.  
  166. /*
  167.  *  create a 32bit register, editable, bubble help
  168.  *  object    - variable of object to create (APTR)
  169.  *  value    - initial contents
  170.  *  help    - text for bubble help (char*)
  171.  */
  172. #define Register32EH(object,value,help)\
  173.     Child, object = BetterStringObject,\
  174.         StringFrame,\
  175.         MUIA_String_Accept , StringHexAccept,\
  176.         MUIA_String_MaxLen , 8+2,\
  177.         MUIA_String_Format , MUIV_String_Format_Right,\
  178.         MUIA_String_Contents, val2hex(value),\
  179.         MUIA_ShortHelp, help,\
  180. End
  181.  
  182. /*
  183.  *  create a label and a changeable register
  184.  *  object    - variable of object to create (APTR)
  185.  *  label    - label of the gadget (char*)
  186.  *  help    - text for bubble help (char*)
  187.  *  value    - initial contents
  188.  *  length    - width of the value in chars (int)
  189.  */
  190. #define RegisterC(object,label,help,value,length)\
  191.     Child, Label2(label),\
  192.     Child, object = BetterStringObject,\
  193.         StringFrame,\
  194.         MUIA_String_Accept , StringHexAccept,\
  195.         MUIA_String_MaxLen , length+2,\
  196.         MUIA_String_Format , MUIV_String_Format_Right,\
  197.         MUIA_ShortHelp, help,\
  198.         MUIA_String_Contents, val2hex(value),\
  199. End
  200.  
  201. #define StringHex2\
  202.     BetterStringObject,\
  203.     StringFrame,\
  204.     MUIA_String_Accept , StringHexAccept,\
  205.     MUIA_String_MaxLen , 4,\
  206.     MUIA_String_Format , MUIV_String_Format_Right,\
  207. End
  208. #define StringHex4\
  209.     BetterStringObject,\
  210.     StringFrame,\
  211.     MUIA_String_Accept , StringHexAccept,\
  212.     MUIA_String_MaxLen , 6,\
  213.     MUIA_String_Format , MUIV_String_Format_Right,\
  214. End
  215. #define StringHex8\
  216.     BetterStringObject,\
  217.     StringFrame,\
  218.     MUIA_String_Accept , StringHexAccept,\
  219.     MUIA_String_MaxLen , 10,\
  220.     MUIA_String_Format , MUIV_String_Format_Right,\
  221. End
  222. #define StringHex16\
  223.     BetterStringObject,\
  224.     StringFrame,\
  225.     MUIA_String_Accept , StringHexAccept,\
  226.     MUIA_String_MaxLen , 18,\
  227.     MUIA_String_Format , MUIV_String_Format_Right,\
  228. End
  229.  
  230. /****************************************************************************/
  231. /*    function prototypes                                                        */
  232. /****************************************************************************/
  233.  
  234. /* misc.c */
  235. STRPTR    val2hexr    (ULONG value);
  236. STRPTR    val2hex64r    (ULONG value1, ULONG value2);
  237.  
  238. STRPTR    val2hex        (ULONG value);
  239. void    sethex4        (APTR gad, UWORD val);
  240. void    sethex8        (APTR gad, ULONG val);
  241. void    sethex1t    (APTR gad, UBYTE val);
  242. void    sethex4t    (APTR gad, UWORD val);
  243. void    sethex8t    (APTR gad, ULONG val);
  244.  
  245. /****************************************************************************/
  246.  
  247.